
package controllers.createControllers;
//Lieven Drijkoningen c1017178 UC 10.1 Toevoegen vlucht
//TODO Er moet nog validatie gemaakt worden voor de gegevens en wat met de status van de vluchten?

import java.util.ArrayList;

import javax.swing.JFrame;

import controllers.BemanningAanduidenController;
import controllers.uiControllers.MainViewController;
import controllers.uiControllers.PortalController;
import controllers.updateControllers.UpdateVluchtController;
import core.logic.services.createServices.ToevoegenVluchtService;
import core.logic.services.createServices.ToevoegenZitplaatsService;
import core.models.dataModels.BemanningAanduidenModel;
import core.models.dataModels.createModels.ToevoegenVluchtModel;
import core.models.domainModel.Eigenaar;
import core.models.domainModel.Vliegtuig;
import core.models.domainModel.Zitplaats;
import views.createViews.ToevoegenVluchtView;

public class ToevoegenVluchtController {
	
	private static JFrame scherm;
	//Tonen  van het scherm
	//Lieven Drijkoningen 
	//UC 10.1 S01
	// Bertels Nick c1019387 aangepast
	public static void showView()
	{
		//halen het model op van de service		
		ToevoegenVluchtModel model = ToevoegenVluchtService.getToevoegenVluchtModel();
		// Zet de schermmodus op 'CREATE'
		model.setSchermModus("CREATE");
		//Sturen het model mee naar de view
		scherm = new ToevoegenVluchtView(model);
		//scherm.pack();
		//scherm.setVisible(true);
		MainViewController.showView(scherm);
	}
	//De nieuwe vlucht toevoegen in het systeem
	//Lieven Drijkoningen
	//UC 10.1 S14
	// Bertels Nick c1019387 aangepast
	public static void handleView(ToevoegenVluchtModel t)
	{		
		
		BemanningAanduidenModel x = ToevoegenVluchtService.insertVluchtModel(t);
		
		ArrayList<Zitplaats> lijst = ToevoegenZitplaatsService.lijstOpvullenMetZitplaatsen(t);
		ToevoegenZitplaatsService.insertZitplaaten(lijst);
		
		
		closeView();
		BemanningAanduidenController.showView(x);
		
	}	
	//Code om vliegtuigen te krijgen gebaseerd op de geselecteerde eigenaar
	//Lieven Drijkoningen
	//UC 10.1 S02
	public static ArrayList<Vliegtuig> handleComboBoxEigenaar(Eigenaar e)
	{
		ArrayList<Vliegtuig> listVliegtuig = new ArrayList<Vliegtuig>();
		listVliegtuig = ToevoegenVluchtService.getVliegtuigBySelectedEigenaar(e);
		return listVliegtuig;
	}
	
	public static void closeView() {
		// Sluiten van het scherm
		scherm.dispose();
		
		UpdateVluchtController.showViewSearch();
	}
}
